const mongoose = require("mongoose");

// 定义对应的 Schema
const userSchema = new mongoose.Schema(
    {
        id: String, // mongodb 自动生成的 id
        loginId: String, // 账号
        loginPwd: {
            type: String,
            select: false
        }, // 密码
        nickname: {
            type: String,
            default: null
        },// 昵称
        name: {
            type: String,
            default: null
        }, //姓名
        avatar: {
            type: String,
            default: null
        },// 头像
        sex: Number, // 性别 0 为女 1为男
        age: {
            type: String,
            default: null
        },// 年龄
        idNumber: {
            type: String,
            default: null
        },// 身份证号
        emergencyContactName: {// 紧急联系人
            type: String,
            default: null
        },
        emergencyContactPhone: {// 紧急联系人电话
            type: String,
            default: null
        },
        phone: {
            type: String,
            default: null
        },// 手机号
        email: {
            type: String,
            default: null
        },// 邮箱
        unitName: {
            type: String,
            default: null
        },// 单位/学校名称
        role: Number, // 角色 0为义工 1为企业 2为管理员
        enabled: {
            type: Boolean,
            default: true
        }, // 是否可用
        collect:{
          type:Array,
          default:[]
        },
        createdAt: Number,
        updatedAt: Number
    },
    {
        strict: true,
        versionKey: false,
        timestamps: {currentTime: () => Date.now()},
    }
);

// 通过 Schema 来创建相应的数据模型
// 创建数据模型的方法为 mongoose.model，只传一个名字，代表查找到对应名字的模型
// 如果传入 Schema，代表创建模型 (1) 给模型取一个名字 （2）对应的 Schema （3）对应的集合
mongoose.model("userModel", userSchema, "user");

// 将此模型进行导出
module.exports = mongoose.model("userModel");
